#!/usr/bin/env node

let fs = require('fs')
const log = console.log

// 检查命令行参数的格式
if (process.argv.length !== 3) {
  console.error('命令行参数格式不正确。正确格式: cmd file_name')
  process.exit(1)
}

// 获取命令行参数中的文件名
const fileName = process.argv[2]
// 检查文件是否存在
if (!fs.existsSync(fileName)) {
  console.error(`文件不存在: ${fileName}`)
  process.exit(1)
}

let buf;

try {
  buf = fs.readFileSync(fileName)
} catch(e) {
  console.error(e.message)
  process.exit(2)
}

if(buf.toString('ascii', 0, 2) === 'BM') {
  log('width:', buf.readInt32LE(0x12))
  log('height:', buf.readInt32LE(0x16))
  log('color depth:', buf.readUInt16LE(0x1c))
}